Перевыпуск сертификатов
На форме поддержки вышла статья про перевыпуск сертификатов. Тема важная, поэтому продублируем здесь.
Часто поступают запросы, связанные с падением сервисов или коллекторов через несколько месяцев после установки. В большинстве случаев это связано с сертификатами. Давайте разберёмся в чём дело.
Какие у нас есть сертификаты?
Мы составляем цепочку сертификатов, чтобы в случае компрометации одного из цепочки не была скомпрометирована вся система. В общем случае, подразумевается наличие сертификатов:
- Корневой (CA)
- Серверный (Server)
- Клиентский(Client)
- Браузерный(Browser)
Где лежат сертификаты?
Сертификаты, расположенные в /var/lib/echelon/komrad/certs/
, являются одним из гарантов безопасности Вашей системы. На папку есть специальные разрешения, доступ к ней должен быть у группы root
и пользователя komrad
.
Какой срок годности у сертификатов?
При установке в автоматическом режиме установщик сам выставит сроки их годности.
- Корневой (CA) 12 месяцев
- Серверный (Server) 3 месяца
- Клиентский(Client) 3 месяца
- Браузерный(Browser) 3 месяца
Как определить что проблема с сертификатом?
В лога Вы увидите ошибку:
x509 expired certificate
Как проверить срок годности сертификатов?
Выполните команду:
openssl x509 -in /var/lib/echelon/komrad/certs/ca.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/server.pem -text -noout | grep "Not After" && openssl x509 -in /var/lib/echelon/komrad/certs/client.pem -text -noout | grep "Not After"
После выполнения команды будет выведен результат. Если напротив сертификата будет стоять параметр Not After
раньше текущей даты значит сертификат сертификат просрочен, н еобходимо выпустить сертификаты.
Выпустить серверный сертификат
sudo komrad-cli certificates create server --organization “Echelon” localhost 127.0.0.1 $(hostname -I) $(hostname) --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem
Выпуск клиентского сертификата
sudo komrad-cli certificates create client --ca /var/lib/echelon/komrad/certs/ca.pem --ca-key /var/lib/echelon/komrad/certs/ca-key.pem
Браузерный сертификат
sudo cp ./client-browser.p12 client.pem client-key.pem server-key.pem server.pem /var/lib/echelon/komrad/certs
Не забудьте указать необходимые сроки годности флагом expire
например так:
sudo komrad-cli certificates create ca --expire 24m
Если сертификаты по какой-то причине не воспринимаются сервисом, например они лежат в не стандартной папке, дайте разрешение на их использование пользователю komrad
выполнив команды :
sudo chown -R komrad:komrad /var/lib/echelon/komrad/certs
sudo chmod -R 755 /var/lib/echelon/komrad/certs
sudo chmod 0640 /var/lib/echelon/komrad/certs/server-key.pem
sudo chown root:komrad /var/lib/echelon/komrad/certs/server-key.pem
sudo usermod -a -G komrad postgres
sudo chmod 755 client-browser.p12
Не забудьте перезапустить сервисы!